package com.xbk.seckill.goods.domain.repository;

import com.xbk.seckill.goods.domain.model.entity.SeckillGoods;

import java.util.List;

/**
 * 商品服务
 *
 * @author xiexu
 * @date 2025/1/12 13:00
 */
public interface SeckillGoodsRepository {

    /**
     * 保存秒杀商品信息
     */
    int saveSeckillGoods(SeckillGoods seckillGoods);

    /**
     * 根据id获取秒杀商品详细信息
     */
    SeckillGoods getSeckillGoodsId(Long id);

    /**
     * 根据活动id获取秒杀商品列表
     */
    List<SeckillGoods> getSeckillGoodsByActivityId(Long activityId);

    /**
     * 修改秒杀商品状态
     */
    int updateStatus(Integer status, Long id);

    /**
     * 扣减秒杀商品库存
     */
    int updateAvailableStock(Integer count, Long id);

    /**
     * 获取当前秒杀商品的可用库存
     */
    Integer getAvailableStockById(Long id);

}
